package com.csun.cmny.provider.service;

import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.DmcCsunSleepDataInBed;
import com.csun.cmny.provider.model.dto.app.AppSleepDateQueryDto;
import com.csun.cmny.provider.model.dto.csunsleep.CsunSleepDataInBedQueryDto;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-02-15 10:59
 * @Description: the interface dmc csun sleep data in bed service
 */
public interface DmcCsunSleepDataInBedService extends IService<DmcCsunSleepDataInBed> {

    /**
     * 条件查询在床数据
     * @param: [csunSleepDataInBedQueryDto]
     * @return: java.util.List<com.csun.cmny.provider.model.domain.DmcCsunSleepDataInBed>
     */
    List<DmcCsunSleepDataInBed> queryCsunSleepDataInBedList(CsunSleepDataInBedQueryDto csunSleepDataInBedQueryDto);

    /**
     * 根据设备id查询最近的一条在床数据
     * @param: [deviceId]
     * @return: com.csun.cmny.provider.model.domain.DmcCsunSleepDataInBed
     */
    DmcCsunSleepDataInBed getLatestInBedData(Long deviceId);

    /**
     * 统计离床报警次数
     * @param: [appSleepDateQueryDto]
     * @return: java.lang.Integer
     */
    Integer countLeaveBedAlertTimes(AppSleepDateQueryDto appSleepDateQueryDto);
}
